package org.truenewx.tnxjeex.unit.model;

import javax.measure.quantity.Temperature;

import org.truenewx.tnxjee.core.caption.Caption;
import org.truenewx.tnxjee.core.enums.annotation.EnumConstantScene;
import org.truenewx.tnxjee.core.enums.annotation.EnumSubTypeCaption;
import org.truenewx.tnxjee.core.enums.annotation.SimpleEnumType;
import org.truenewx.tnxjeex.unit.support.MeasureUnits;
import org.truenewx.tnxjeex.unit.util.UnitScenes;
import org.truenewx.tnxjeex.unit.util.UnitTypes;
import tech.units.indriya.unit.Units;

/**
 * 温度单位
 */
@Caption("温度单位")
@SimpleEnumType(name = UnitTypes.TEMPERATURE)
@EnumSubTypeCaption(subname = UnitScenes.TEMPERATURE_NORMAL, caption = "常规温度单位")
public interface TemperatureUnit extends MeasureUnit<Temperature> {

    @Caption("摄氏度")
    @EnumConstantScene(subType = UnitScenes.TEMPERATURE_NORMAL)
    TemperatureUnit CELSIUS = MeasureUnits.getInstance()
            .add(Units.CELSIUS, TemperatureUnit.class, null, "CELSIUS", "TTC");

    @Caption("开尔文")
    TemperatureUnit KELVIN = MeasureUnits.getInstance().add(Units.KELVIN, TemperatureUnit.class, null, "KELVIN", "TTK");

}
